package com.java.jvalidator.framework;

import java.util.ArrayList;
import java.util.List;

public class ValidationResult {
	private List<ErrorMsg> errorMsg;

	// <propertyName,errorCount> 暂时还不需要
	// private Map<String, Integer> propertyErrorCount;

	public ValidationResult() {
		this.errorMsg = new ArrayList<ErrorMsg>();
		// this.propertyErrorCount = new HashMap<String, Integer>();
	}

	public boolean validationPassed() {
		return this.errorMsg.size() == 0;
	}

	public List<ErrorMsg> getErrorMsg() {
		return this.errorMsg;
	}

	public void addErrorMsg(ErrorMsg msg) {
		if (msg == null) {
			return;
		}
		if (this.errorMsg.contains(msg)) {
			return;
		}

		// Integer count = (Integer)
		// this.propertyErrorCount.get(msg.getPropertyName());
		// if (count == null) {
		// this.propertyErrorCount.put(msg.getPropertyName(),
		// Integer.valueOf(1));
		// } else {
		// count = Integer.valueOf(count.intValue() + 1);
		// this.propertyErrorCount.put(msg.getPropertyName(), count);
		// }

		this.errorMsg.add(msg);
	}

	public void addErrorMsg(List<ErrorMsg> msgs) {
		if (msgs == null) {
			return;
		}

		for (ErrorMsg msg : msgs) {
			addErrorMsg(msg);
		}
	}

	public void addResult(ValidationResult result) {
		if (result == null) {
			return;
		}
		addErrorMsg(result.getErrorMsg());
	}
}